/**
 * Created by Administrator on 2017/12/1.
 */
const storage = weex.requireModule('storage');

/**
 * @description 存储本地数据
 * @param key 键
 * @param value 值
 * @param callback 回调函数
 */
function setItem(key,value,callback) {
    if(!key || !value) {
        console.log("传参有误");
        return false;
    }

    storage.setItem(key,value,function(e){
        if(e.result && e.result == 'success') {
            if(typeof callback == 'function') callback(e);
        }
    });
}


/**
 * @description 获取本地数据
 * @param key 键
 */
function getItem(key) {
    if(!key) {
        console.log("传参有误");
        return false;
    }

    return new Promise((resolve,reject)=>{
        storage.getItem(key,function(e){
            let _data = e.data;
            if(_data){
                resolve(_data);
            } else {
                reject(null);
            }
        })
    });
}

/**
 * @description 删除本地数据
 * @param key 键
 * @param callback 回调函数
 */
function removeItem(key,callback) {
    if(!key) {
        console.log("传参有误");
        return false;
    }

    storage.removeItem(key,function(e){
        if(e.result && e.result == 'success'){
            if(typeof callback == 'function') callback(e);
        }
    })
}

/**
 * @description 获取本地存储数据的长度
 * @param callback 回调函数
 */
function getLength(callback) {
    if(typeof callback == 'function') callback(storage.length);
}

/**
 * @description 获取本地存储数据的所有键值组合 数组[]
 * @param callback 回调函数
 */
function getAllKeys(callback) {
    storage.getAllKeys(function(e){
       if(e.result && e.result == 'success') {
           if(typeof callback == 'function') callback(e.data);
       }
    });
}




exports.setItem = setItem;
exports.getItem = getItem;
exports.removeItem = removeItem;
exports.getLength = getLength;
exports.getAllKeys = getAllKeys;